package org.syndicate.domain;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;

import org.springframework.roo.addon.entity.RooEntity;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.tostring.RooToString;

/**
 * Abstract class for Position.
 * 
 * @author akiraabe
 */
@RooJavaBean
@RooToString
@RooEntity
public abstract class AbstractPosition {

	private String name;
	
	private String discriminator;
	
    @ManyToOne
    private SharePie sharePie;
    
    /**
     * Apply transaction to Position.
     * 
     * @param AbstractTransaction 
     */
	abstract public void apply(AbstractTransaction transaction);
	
}
